///* Licensed under the Apache License, Version 2.0 (the "License");
// * you may not use this file except in compliance with the License.
// * You may obtain a copy of the License at
// * 
// *      http://www.apache.org/licenses/LICENSE-2.0
// * 
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS,
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * See the License for the specific language governing permissions and
// * limitations under the License.
// */
//package org.activiti.spring.boot;
//
//import java.io.IOException;
//
//import javax.persistence.EntityManagerFactory;
//import javax.sql.DataSource;
//
//import org.activiti.spring.SpringAsyncExecutor;
//import org.activiti.spring.SpringProcessEngineConfiguration;
//import org.springframework.boot.autoconfigure.AutoConfigureAfter;
//import org.springframework.boot.autoconfigure.AutoConfigureBefore;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
//import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
//import org.springframework.boot.context.properties.EnableConfigurationProperties;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.orm.jpa.JpaTransactionManager;
//import org.springframework.transaction.PlatformTransactionManager;
//
///**
// * 重构此类强制走Mybatis： 原来的逻辑是Activiti判断，如果项目使用了JPA，那走JPA，如果没有，则走Mybatis
// * @author scott
// * @参考链接：https://blog.csdn.net/jiaoshaoping/article/details/80612637
// * @源码jar: activiti-spring-boot-starter-basic-5.22.0.jar
// * @date: 2019-04-13
// */
//@Configuration
//@AutoConfigureBefore(DataSourceProcessEngineAutoConfiguration.class)
//@AutoConfigureAfter(DataSourceAutoConfiguration.class)
//public class JpaProcessEngineAutoConfiguration {
//
////  @Configuration
////  @ConditionalOnClass(name= "javax.persistence.EntityManagerFactory")
////  @EnableConfigurationProperties(ActivitiProperties.class)
////  public static class JpaConfiguration extends AbstractProcessEngineAutoConfiguration {
////
////    @Bean
////    @ConditionalOnMissingBean
////    public PlatformTransactionManager transactionManager(EntityManagerFactory emf) {
////      return new JpaTransactionManager(emf);
////    }
////
////    @Bean
////    @ConditionalOnMissingBean
////    public SpringProcessEngineConfiguration springProcessEngineConfiguration(
////            DataSource dataSource, EntityManagerFactory entityManagerFactory,
////            PlatformTransactionManager transactionManager, SpringAsyncExecutor springAsyncExecutor) throws IOException {
////
////      SpringProcessEngineConfiguration config = this.baseSpringProcessEngineConfiguration(dataSource, 
////          transactionManager, springAsyncExecutor);
////      config.setJpaEntityManagerFactory(entityManagerFactory);
////      config.setTransactionManager(transactionManager);
////      config.setJpaHandleTransaction(false);
////      config.setJpaCloseEntityManager(false);
////      return config;
////    }
////  }
//
//}
